package com.ruoyi.crm.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.poi.ss.formula.functions.T;

/**
 * 公海/私海客户信息对象 crm_gh
 * 
 * @author ruoyi
 * @date 2023-03-30
 */
@TableName("crm_gh")
public class CrmGh extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /** 公司名称（必填） */
    @Excel(name = "公司名称", readConverterExp = "必=填")
    private String companyName;

    /** 法人（必填) */
    @Excel(name = "法人", readConverterExp = "法人（必填)")
    private String legal;

    /** 注册资金（必填) */
    @Excel(name = "注册资金", readConverterExp = "注册资金（必填)")
    private Long fund;

    /** 地区（必填) */
    @Excel(name = "地区", readConverterExp = "地区（必填)")
    private String district;

    /** 行业（必填，字典） */
    @Excel(name = "行业", readConverterExp = "必=填，字典")
    private String industry;

    /** 企业规模（必填，字典） */
    @Excel(name = "企业规模", readConverterExp = "必=填，字典")
    private Long scale;

    /** 客户来源（必填，字典） */
    @Excel(name = "客户来源", readConverterExp = "必=填，字典")
    private String source;

    /** 上云情况（必填，字典） */
    @Excel(name = "上云情况", readConverterExp = "必=填，字典")
    private String status;

    /** 成立日期（必填，日期） */
    @Excel(name = "成立日期", readConverterExp = "必=填，日期")
    private Date foundDate;

    /** 信息化（必填，字典，多选） */
    @Excel(name = "信息化", readConverterExp = "必=填，字典，多选")
    private Long informationize;

    /** 客户状态 */
    @Excel(name = "客户状态")
    private Integer cond;

    /** 被指派人 */
    @Excel(name = "被指派人")
    private Long userId;

    /** 数据状态 */
    @Excel(name = "数据状态")
    private Long del;

    /**
     * 客户系统信息
     */
    private CrmGhSys crmGhSys;
    /**
     * 信息化投入情况
     */
    private List<CrmInput> inputs;
    /**
     * 联系人
     */
    private CrmCont crmCont;

    private List<T> shiyongqingkuang;
    /**
     * 跟进记录
     */
    private CrmRec recs ;



    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setCompanyName(String companyName) 
    {
        this.companyName = companyName;
    }

    public String getCompanyName() 
    {
        return companyName;
    }
    public void setLegal(String legal) 
    {
        this.legal = legal;
    }

    public String getLegal() 
    {
        return legal;
    }
    public void setFund(Long fund) 
    {
        this.fund = fund;
    }

    public Long getFund() 
    {
        return fund;
    }
    public void setDistrict(String district) 
    {
        this.district = district;
    }

    public String getDistrict() 
    {
        return district;
    }
    public void setIndustry(String industry) 
    {
        this.industry = industry;
    }

    public String getIndustry() 
    {
        return industry;
    }
    public void setScale(Long scale) 
    {
        this.scale = scale;
    }

    public Long getScale() 
    {
        return scale;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setFoundDate(Date foundDate) 
    {
        this.foundDate = foundDate;
    }

    public Date getFoundDate() 
    {
        return foundDate;
    }
    public void setInformationize(Long informationize) 
    {
        this.informationize = informationize;
    }

    public Long getInformationize() 
    {
        return informationize;
    }
    public void setCondition(Integer condition)
    {
        this.cond = condition;
    }

    public Integer getCondition()
    {
        return cond;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setDel(Long del) 
    {
        this.del = del;
    }

    public Long getDel() 
    {
        return del;
    }

    public CrmGhSys getCrmGhSys() {
        return crmGhSys;
    }

    public void setCrmGhSys(CrmGhSys crmGhSys) {
        this.crmGhSys = crmGhSys;
    }

    public List<CrmInput> getInputs() {
        return inputs;
    }

    public void setInputs(List<CrmInput> inputs) {
        this.inputs = inputs;
    }

    public CrmCont getCrmCont() {
        return crmCont;
    }

    public void setCrmCont(CrmCont crmCont) {
        this.crmCont = crmCont;
    }

    public List<T> getShiyongqingkuang() {
        return shiyongqingkuang;
    }

    public void setShiyongqingkuang(List<T> shiyongqingkuang) {
        this.shiyongqingkuang = shiyongqingkuang;
    }

    public CrmRec getRecs() {
        return recs;
    }

    public void setRecs(CrmRec recs) {
        this.recs = recs;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("companyName", getCompanyName())
            .append("legal", getLegal())
            .append("fund", getFund())
            .append("district", getDistrict())
            .append("industry", getIndustry())
            .append("scale", getScale())
            .append("source", getSource())
            .append("status", getStatus())
            .append("foundDate", getFoundDate())
            .append("informationize", getInformationize())
            .append("remark", getRemark())
            .append("condition", getCondition())
            .append("userId", getUserId())
            .append("del", getDel())
            .toString();
    }
}
